// index.js
// 获取应用实例
const app = getApp()
Page({
  // 微信小程序轮播图
  data: {
    // background: ['demo-text-1', 'demo-text-2', 'demo-text-3'],
    indicatorDots: true,
    vertical: true,
    autoplay: true,
    interval: 2000,
    duration: 500,
    baseURL: wx.baseURL,
    banners: [],
    banner:[
      {
        img:"/image/2.png"
      },
      {
        img:"/image/21.png"
      }
    ],
    Icon: [],
    Items:[],
    news: [],
    newsIndex: 0,
    newItems: 'transform: translate(0rpx,0rpx); transition:transform 0.3s;',
    lists: [],
    pageNum: 1,
    total: 0
  },
  //轮播图调用接口
  getBanners() {
    return new Promise((resolve, reject) => {
      wx.get('/index/banners').then((res) => {
        this.setData({
          banners: res
        })
        resolve()
      })
    })
  },
  //新品首晒系列
  getIcon() {
    return new Promise((resolve, reject) => {
      wx.get('/index/categorys').then(res => {
        // console.log(res)
        this.setData({
          Icon: res
        })
        resolve()
      })
    })
  },
  getItems() {
    wx.get('http://localhost:3000/wx/category').then(res => {
      this.setData({
        Items:res
      })
    })
  },



  //新闻轮播
  getNews() {
    return new Promise((resolve, reject) => {
      wx.get('/index/news').then((res) => {
        // console.log(res)
        this.setData({
          News: res
        })
        this.changNewsIndex() //触发新闻轮播
        resolve()
      })
    })

  },

  changNewsIndex() { //新闻轮播没3秒跳转一次
    setInterval(() => {
      let newsIndex = this.data.newsIndex
      newsIndex++
      // console.log(newsIndex)
      this.setData({
        newsIndex,
        newItems: 'transform: translate(0rpx,-' + newsIndex * 80 + 'rpx);transition:transform 0.3s;'
      })
      if (this.data.newsIndex == 2) {
        setTimeout(() => {
          this.setData({
            newsIndex: 0,
            newItems: 'transform: translate(0rpx,0rpx);'
          })
        }, 500)
      }
    }, 3000)
  },

  onReachBottom() {
    if (this.data.total > this.data.lists.length) {
      this.data.pageNum++
      this.getRecommends()
    }
  },
  //推荐内容  
  getRecommends() {
    return new Promise((resolve, reject) => {
      this.setData({
        loading: '数据加载中...'
      })
      wx.get('/index/recommends', {
        pageNum: this.data.pageNum
      }).then((res) => {
        // console.log(res)
        this.setData({
          loading: '小主,已经到底了~',
          lists: this.data.lists.concat(res.rows),
          total: res.total
        })
        resolve()
      })
    })
  },

  endanimation() {
    if (this.data.newsIndex == this.data.news.length) {
      this.setData({
        newsIndex: 0,
        newItems: 'transform: translate(0rpx,0rpx);'
      })
    }
  },
  getList() {
    Promise.all([this.getBanners(),this.getItems(),this.getNews(), this.getRecommends()]).then(() => {
      // console.log('所有数据打印完成')
    }).catch(e => {
      console.log(e)
    })
    //获取数据
    //获取分类框
    //获取新闻
    //获取推荐
  },
  onLoad() {
    this.getList()
  },
  tapName(e) {
    console.log('点击成功', e)
    // wx.showModal({
    //   cancelColor: 'cancelColor',
    //   // title:'提示',
    //   // showCancel:false,
    //   // content:'是否选择进入该页面'
    // })
    wx.switchTab({ //switchTab跳转到显示页面，如分类，购物车等
      url: '/pages/logs/logs',
    })
  },
  tapTiaozhuan() {
    wx.navigateTo({ //navigateTo跳转到后台页面，如没有显示的xinpin，vip等
      url: '/pages/xinping/xinping',
    })
  },

  tapXiangqing() {
    wx.navigateTo({
      url: '/pages/xiangqing/xiangqing',
    })
  },

  //下拉刷新
  onPullDownRefresh() {
    this.data.pageNum = 1
    this.data.lists = []
    Promise.all([this.getBanners(), this.getIcon(), this.getNews(), this.getRecommends()]).then(() => {
      wx.stopPullDownRefresh()
    }).catch(e => {
      wx.stopPullDownRefresh()
    })

  },


  // 事件处理函数
  bindViewTap() {
    wx.navigateTo({
      url: '../logs/logs'
    })
  },

  getUserProfile(e) {
    // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认，开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
    wx.getUserProfile({
      desc: '展示用户信息', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        console.log(res)
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    })
  },
  getUserInfo(e) {
    // 不推荐使用getUserInfo获取用户信息，预计自2021年4月13日起，getUserInfo将不再弹出弹窗，并直接返回匿名的用户个人信息
    console.log(e)
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  }
})